/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package application;

import java.io.IOException;
import java.io.OutputStream;
import javax.swing.JTextArea;

/**
 * Classe permettant de rediriger l'entrée 
 * standard dans un objet JtextArea
 * @author O.Riad
 * @author D.Romain
 *
 */
public class RedirectOutputStream extends OutputStream {

    private JTextArea jTextArea;

    /**
     * Constructeur permettant de lier 
     * la classe au JTextArea cible
     * @param jtextarea 
     */
    public RedirectOutputStream(JTextArea jtextarea) {
        this.jTextArea = jtextarea;
    }

    /**
     * Constructeur vide
     * (ne fait pas liaison avec un JtextArea)
     */
    public RedirectOutputStream() {
        this.jTextArea = null;
    }

    /**
     * Permet de lier nouveau
     * un JtextArea à la classe
     * @param jtextarea 
     */
    public void setJtextArea(JTextArea jtextarea) {
        this.jTextArea = jtextarea;
    }

    /**
     * Permet d'écrire à la suite du
     * JtextArea courant
     * @param i entier à ecrire
     * @throws IOException 
     */
    @Override
    public void write(int i) throws IOException {
        if (this.jTextArea != null) {
            this.jTextArea.append("" + (char) i);
        }
    }
}
